package cn.com.nes.site.entity.vo.design;

import cn.com.nes.common.util.ParameterUtil;
import cn.com.nes.site.entity.DataReq;

import java.util.List;

/**
 * 计算入参
 */
public class CalculateCostVo {
    /**
     * 项目地点
     */
    private String address;
    /**
     * 热泵厂家
     */
    private String heatPumpManufacturers;
    /**
     * 建筑类型
     */
    private String buildingType;
    /**
     * 建筑面积
     */
    private Double buildingArea;
    /**
     * 热泵型号
     */
    private String heatPumpModel;
    /**
     * 铭牌制热量
     */
    private Double heatingCapacity;
    /**
     * 单价
     */
    private Integer price;
    /**
     * 制热额定功率
     */
    private Double zredgl;
    /**
     * 供暖末端
     */
    private String heatingEnd;
    /**
     * 供回水温差
     */
    private Integer temperatureDifference;
    /**
     * 供暖费（元/㎡）
     */
    private double heatingCharges = 0d;
    /**
     * 补贴（元/㎡）
     */
    private double subsidy = 0d;
    /**
     * 管理费（元/㎡）
     */
    private double managementFee = 0d;
    /**
     * 采暖期（天数）
     */
    private Integer heatingPeriod = 0;
    /**
     * 数据库load存储字段
     */
    private String field;
    /**
     * 峰电电费
     */
    private Double fdjg;
    /**
     * 谷电电费
     */
    private Double gdjg;
    /**
     * 平电电费
     */
    private Double pdjg;
    /**
     * 尖电电费
     */
    private Double jdjg;
    /**
     * 峰电所在时段
     */
    private List fdsj;
    /**
     * 谷电所在时段
     */
    private List gdsj;
    /**
     * 平电所在时段
     */
    private List pdsj;
    /**
     * 尖电所在时段
     */
    private List  jdsj;

    private String xzqhdm;
    /**
     * 公司id
     */
    private String companyId;
    /**
     * 电占比  峰电、谷电2、平电3、尖电4
     */
    private Integer fdRatio;
    private Integer gdRatio;
    private Integer pdRatio;
    private Integer jdRatio;

    public CalculateCostVo() {
    }

    public CalculateCostVo(DataReq req) {
        this.address = ParameterUtil.getString(req, "address");
        this.heatPumpManufacturers = ParameterUtil.getString(req, "heatPumpManufacturers");
        this.buildingType = ParameterUtil.getString(req, "buildingType");
        this.buildingArea = ParameterUtil.getDouble(req, "buildingArea");
        this.heatPumpModel = ParameterUtil.getString(req, "heatPumpModel");
        this.heatingCapacity = Double.parseDouble(String.valueOf(req.getReqData().get("heatingCapacity")));
        this.price = ParameterUtil.getInteger(req, "price");
        this.zredgl = Double.parseDouble(String.valueOf(req.getReqData().get("zredgl")));
        this.heatingEnd = ParameterUtil.getString(req, "heatingEnd");
        this.temperatureDifference = ParameterUtil.getInteger(req, "temperatureDifference");
        this.field = ParameterUtil.getString(req, "field");
        this.heatingCharges = ParameterUtil.getDouble(req, "heatingCharges");
        this.subsidy = ParameterUtil.getDouble(req, "subsidy");
        this.managementFee = ParameterUtil.getDouble(req, "managementFee");
        this.heatingPeriod = ParameterUtil.getInteger(req, "heatingPeriod");
        this.fdjg = Double.parseDouble(String.valueOf(req.getReqData().get("fdjg")));
        this.gdjg = Double.parseDouble(String.valueOf(req.getReqData().get("fdjg")));
        this.pdjg = Double.parseDouble(String.valueOf(req.getReqData().get("pdjg")));
        this.jdjg = Double.parseDouble(String.valueOf(req.getReqData().get("jdjg")));
        this.fdsj = (List) req.getReqData().get("fdsj");
        this.gdsj = (List) req.getReqData().get("gdsj");
        this.pdsj = (List) req.getReqData().get("pdsj");
        this.jdsj = (List) req.getReqData().get("jdsj");
        this.xzqhdm = ParameterUtil.getString(req, "xzqhdm");
        this.companyId = req.getUinfo().getCompanyId();
        this.fdRatio = ParameterUtil.getInteger(req, "fdRatio");
        this.gdRatio = ParameterUtil.getInteger(req, "gdRatio");
        this.pdRatio = ParameterUtil.getInteger(req, "pdRatio");
        this.jdRatio = ParameterUtil.getInteger(req, "jdRatio");
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getHeatPumpManufacturers() {
        return heatPumpManufacturers;
    }

    public void setHeatPumpManufacturers(String heatPumpManufacturers) {
        this.heatPumpManufacturers = heatPumpManufacturers;
    }

    public String getBuildingType() {
        return buildingType;
    }

    public void setBuildingType(String buildingType) {
        this.buildingType = buildingType;
    }

    public Double getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Double buildingArea) {
        this.buildingArea = buildingArea;
    }

    public String getHeatPumpModel() {
        return heatPumpModel;
    }

    public void setHeatPumpModel(String heatPumpModel) {
        this.heatPumpModel = heatPumpModel;
    }

    public Double getHeatingCapacity() {
        return heatingCapacity;
    }

    public void setHeatingCapacity(Double heatingCapacity) {
        this.heatingCapacity = heatingCapacity;
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }

    public Double getZredgl() {
        return zredgl;
    }

    public void setZredgl(Double zredgl) {
        this.zredgl = zredgl;
    }

    public String getHeatingEnd() {
        return heatingEnd;
    }

    public void setHeatingEnd(String heatingEnd) {
        this.heatingEnd = heatingEnd;
    }

    public Integer getTemperatureDifference() {
        return temperatureDifference;
    }

    public void setTemperatureDifference(Integer temperatureDifference) {
        this.temperatureDifference = temperatureDifference;
    }

    public double getHeatingCharges() {
        return heatingCharges;
    }

    public void setHeatingCharges(double heatingCharges) {
        this.heatingCharges = heatingCharges;
    }

    public double getSubsidy() {
        return subsidy;
    }

    public void setSubsidy(double subsidy) {
        this.subsidy = subsidy;
    }

    public double getManagementFee() {
        return managementFee;
    }

    public void setManagementFee(double managementFee) {
        this.managementFee = managementFee;
    }

    public Integer getHeatingPeriod() {
        return heatingPeriod;
    }

    public void setHeatingPeriod(Integer heatingPeriod) {
        this.heatingPeriod = heatingPeriod;
    }

    public String getField() {
        return field;
    }

    public void setField(String field) {
        this.field = field;
    }

    public Double getFdjg() {
        return fdjg;
    }

    public void setFdjg(Double fdjg) {
        this.fdjg = fdjg;
    }

    public Double getGdjg() {
        return gdjg;
    }

    public void setGdjg(Double gdjg) {
        this.gdjg = gdjg;
    }

    public Double getPdjg() {
        return pdjg;
    }

    public void setPdjg(Double pdjg) {
        this.pdjg = pdjg;
    }

    public Double getJdjg() {
        return jdjg;
    }

    public void setJdjg(Double jdjg) {
        this.jdjg = jdjg;
    }

    public List getFdsj() {
        return fdsj;
    }

    public void setFdsj(List fdsj) {
        this.fdsj = fdsj;
    }

    public List getGdsj() {
        return gdsj;
    }

    public void setGdsj(List gdsj) {
        this.gdsj = gdsj;
    }

    public List getPdsj() {
        return pdsj;
    }

    public void setPdsj(List pdsj) {
        this.pdsj = pdsj;
    }

    public List getJdsj() {
        return jdsj;
    }

    public void setJdsj(List jdsj) {
        this.jdsj = jdsj;
    }

    public String getXzqhdm() {
        return xzqhdm;
    }

    public void setXzqhdm(String xzqhdm) {
        this.xzqhdm = xzqhdm;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public Integer getFdRatio() {
        return fdRatio;
    }

    public void setFdRatio(Integer fdRatio) {
        this.fdRatio = fdRatio;
    }

    public Integer getGdRatio() {
        return gdRatio;
    }

    public void setGdRatio(Integer gdRatio) {
        this.gdRatio = gdRatio;
    }

    public Integer getPdRatio() {
        return pdRatio;
    }

    public void setPdRatio(Integer pdRatio) {
        this.pdRatio = pdRatio;
    }

    public Integer getJdRatio() {
        return jdRatio;
    }

    public void setJdRatio(Integer jdRatio) {
        this.jdRatio = jdRatio;
    }
}
